package com.lovo.test.Register;

import java.util.Scanner;

public class Register {
    public static void main(String[] args) {
        Register client= new Register();
        client.register();

    }

    public void register() {
        String userName="";
        Scanner scan = new Scanner(System.in);
        boolean flag = false;
        while (flag==false) {
            System.out.println("请输入用户名");
             userName = scan.next();
            if (userName.matches("^[\\w]{6,20}$")) {//用正则表达式判定用户名是否符合要求
               flag=true;
            }else {
                System.out.println("用户名不符合要求，请输入6-20位的数字或者字母，除下划线不能有其他符号");
            }
        }
        while (flag=true){
            System.out.println("请输入密码");
            String passWord = scan.next();
            if (passWord.matches("^(?=.*\\d)(?=.*[a-z])(?=.*[A-Z])[a-zA-Z0-9]{6,}$")){//用正则表达式判定密码是否符合要求
                System.out.println("请再次输入密码，需和上次一致");
                String newPassWord = scan.next();
                if (newPassWord.equals(passWord)){
                    System.out.println("请输入注册邮箱");
                    String email = scan.next();
                    if (email.matches("^\\w+([-+.]\\w+)*@\\w+([-.]\\w+)*\\.\\w+([-.]\\w+)*$")){//用正则表达式判定邮箱是否符合要求
                        System.out.println("恭喜你，注册成功");//注册成功后，将用户信息通过set的方式赋值给用户类里的属性
                        User name = new User();
                        name.setUserName(userName);
                        name.setPassWord(passWord);
                        name.setEmail(email);
                        break;
                    }else {
                        System.out.println("邮箱格式错误，请重新注册");
                    }
                }else {
                    System.out.println("两次输入的密码不一致，请重新输入");
                }
            }else {
                System.out.println("请输入最低六位且包含大小写的密码，不能有符号");
            }

        }
    }
}
